﻿
Namespace Objetos

    Partial Public Class Champion
        Implements iChampion

#Region "Propriedades"

#Region "Ability Power"

        Public Property Ability_Power_Base As Decimal Implements iChampion.Ability_Power_Base
            Get
                Return _Ability_Power_Base
            End Get
            Set(ByVal value As Decimal)
                _Ability_Power_Base = value
            End Set
        End Property

        Public Property Ability_Power_Base_Final As Decimal Implements iChampion.Ability_Power_Base_Final
            Get
                Return Geral.Formulas.CalcularAbilityPowerFinal(Ability_Power_Base, Ability_Power_Base_Level, Ability_Power_Mod_Level_Flat, Ability_Power_Mod_Flat, Ability_Power_Mod_Perc, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Ability_Power_Base_Level As Decimal Implements iChampion.Ability_Power_Base_Level
            Get
                Return _Ability_Power_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _Ability_Power_Base_Level = value
            End Set
        End Property

        Public Property Ability_Power_Mod_Flat As Decimal Implements iChampion.Ability_Power_Mod_Flat
            Get
                Return _Ability_Power_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Ability_Power_Mod_Flat = value
            End Set
        End Property

        Public Property Ability_Power_Mod_Level_Flat As Decimal Implements iChampion.Ability_Power_Mod_Level_Flat
            Get
                Return _Ability_Power_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _Ability_Power_Mod_Level_Flat = value
            End Set
        End Property

        Public Property Ability_Power_Mod_Perc As Decimal Implements iChampion.Ability_Power_Mod_Perc
            Get
                Return _Ability_Power_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _Ability_Power_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "Armor"

        Public Property Armor_Base As Decimal Implements iChampion.Armor_Base
            Get
                Return _Armor_Base
            End Get
            Set(ByVal value As Decimal)
                _Armor_Base = value
            End Set
        End Property

        Public Property Armor_Base_Final As Decimal Implements iChampion.Armor_Base_Final
            Get
                Return Geral.Formulas.CalcularArmorFinal(Armor_Base, Armor_Base_Level, Armor_Mod_Level_Flat, Armor_Mod_Flat, Armor_Mod_Perc, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Armor_Base_Level As Decimal Implements iChampion.Armor_Base_Level
            Get
                Return _Armor_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _Armor_Base_Level = value
            End Set
        End Property

        Public Property Armor_Mod_Flat As Decimal Implements iChampion.Armor_Mod_Flat
            Get
                Return _Armor_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Armor_Mod_Flat = value
            End Set
        End Property

        Public Property Armor_Mod_Level_Flat As Decimal Implements iChampion.Armor_Mod_Level_Flat
            Get
                Return _Armor_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _Armor_Mod_Level_Flat = value
            End Set
        End Property

        Public Property Armor_Mod_Perc As Decimal Implements iChampion.Armor_Mod_Perc
            Get
                Return _Armor_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _Armor_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "Armor Pen"

        Public Property Armor_Pen_Flat As Decimal Implements iChampion.Armor_Pen_Flat
            Get
                Return _Armor_Pen_Flat
            End Get
            Set(ByVal value As Decimal)
                _Armor_Pen_Flat = value
            End Set
        End Property

        Public Property Armor_Pen_Perc As Decimal Implements iChampion.Armor_Pen_Perc
            Get
                Return _Armor_Pen_Perc
            End Get
            Set(ByVal value As Decimal)
                _Armor_Pen_Perc = value
            End Set
        End Property

#End Region

#Region "Armor Reduction"

        Public Property Armor_Reduction_Flat As Decimal Implements iChampion.Armor_Reduction_Flat
            Get
                Return _Armor_Reduction_Flat
            End Get
            Set(ByVal value As Decimal)
                _Armor_Reduction_Flat = value
            End Set
        End Property

        Public Property Armor_Reduction_Perc As Decimal Implements iChampion.Armor_Reduction_Perc
            Get
                Return _Armor_Reduction_Perc
            End Get
            Set(ByVal value As Decimal)
                _Armor_Reduction_Perc = value
            End Set
        End Property

#End Region

#Region "Attack Damage"

        Public Property Attack_Damage_Base As Decimal Implements iChampion.Attack_Damage_Base
            Get
                Return _Attack_Damage_Base
            End Get
            Set(ByVal value As Decimal)
                _Attack_Damage_Base = value
            End Set
        End Property

        Public Property Attack_Damage_Base_Final As Decimal Implements iChampion.Attack_Damage_Base_Final
            Get
                Return Geral.Formulas.CalcularAttackDamage(Attack_Damage_Base, Attack_Damage_Base_Level, Attack_Damage_Mod_Level_Flat, Attack_Damage_Mod_Flat, Attack_Damage_Mod_Perc, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Attack_Damage_Base_Level As Decimal Implements iChampion.Attack_Damage_Base_Level
            Get
                Return _Attack_Damage_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _Attack_Damage_Base_Level = value
            End Set
        End Property

        Public Property Attack_Damage_Mod_Flat As Decimal Implements iChampion.Attack_Damage_Mod_Flat
            Get
                Return _Attack_Damage_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Attack_Damage_Mod_Flat = value
            End Set
        End Property

        Public Property Attack_Damage_Mod_Level_Flat As Decimal Implements iChampion.Attack_Damage_Mod_Level_Flat
            Get
                Return _Attack_Damage_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _Attack_Damage_Mod_Level_Flat = value
            End Set
        End Property

        Public Property Attack_Damage_Mod_Perc As Decimal Implements iChampion.Attack_Damage_Mod_Perc
            Get
                Return _Attack_Damage_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _Attack_Damage_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "Attack Speed"

        Public Property Attack_Speed_Base As Decimal Implements iChampion.Attack_Speed_Base
            Get
                Return _Attack_Speed_Base
            End Get
            Set(ByVal value As Decimal)
                _Attack_Speed_Base = value
            End Set
        End Property

        Public Property Attack_Speed_Base_Final As Decimal Implements iChampion.Attack_Speed_Base_Final
            Get
                Return Geral.Formulas.CalcularAttackSpeedFinal(Attack_Speed_Base, Attack_Speed_Base_Level_Perc, Attack_Speed_Mod_Flat, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Attack_Speed_Base_Level_Perc As Decimal Implements iChampion.Attack_Speed_Base_Level_Perc
            Get
                Return _Attack_Speed_Base_Level_Perc
            End Get
            Set(ByVal value As Decimal)
                _Attack_Speed_Base_Level_Perc = value
            End Set
        End Property

        Public Property Attack_Speed_Mod_Flat As Decimal Implements iChampion.Attack_Speed_Mod_Flat
            Get
                Return _Attack_Speed_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Attack_Speed_Mod_Flat = value
            End Set
        End Property

#End Region

#Region "Gerais/Outras"

        Public Property Codigo As Integer Implements iChampion.Codigo
            Get
                Return _Codigo
            End Get
            Set(ByVal value As Integer)
                _Codigo = value
            End Set
        End Property

        Public Property Cooldown_Reduction As Decimal Implements iChampion.Cooldown_Reduction
            Get
                Return _Cooldown_Reduction
            End Get
            Set(ByVal value As Decimal)
                _Cooldown_Reduction = value
            End Set
        End Property

        Public Property Level As Short Implements iChampion.Level
            Get
                Return _Level
            End Get
            Set(ByVal value As Short)
                _Level = value
            End Set
        End Property

        Public Property Life_Steal As Decimal Implements iChampion.Life_Steal
            Get
                Return _Life_Steal
            End Get
            Set(ByVal value As Decimal)
                _Life_Steal = value
            End Set
        End Property

        Public Property Nome As String Implements iChampion.Nome
            Get
                Return _Nome
            End Get
            Set(ByVal value As String)
                _Nome = value
            End Set
        End Property

        Public Property Range As Decimal Implements iChampion.Range
            Get
                Return _Range
            End Get
            Set(ByVal value As Decimal)
                _range = value
            End Set
        End Property

        Public Property Spell_Vamp As Decimal Implements iChampion.Spell_Vamp
            Get
                Return _Spell_Vamp
            End Get
            Set(ByVal value As Decimal)
                _Spell_Vamp = value
            End Set
        End Property

        Public Property Tenacity As Decimal Implements iChampion.Tenacity
            Get
                Return _Tenacity
            End Get
            Set(ByVal value As Decimal)
                _Tenacity = value
            End Set
        End Property

        Public Property Tipo_de_recurso As Geral.Geral.Tipo_Recurso Implements iChampion.Tipo_de_recurso
            Get
                Return _Tipo_de_recurso
            End Get
            Set(ByVal value As Geral.Geral.Tipo_Recurso)
                _Tipo_de_recurso = value
            End Set
        End Property

#End Region

#Region "HP"

        Public Property HP_Base As Decimal Implements iChampion.HP_Base
            Get
                Return _HP_Base
            End Get
            Set(ByVal value As Decimal)
                _HP_Base = value
            End Set
        End Property

        Public Property HP_Base_Final As Decimal Implements iChampion.HP_Base_Final
            Get
                Return Geral.Formulas.CalcularHPFinal(HP_Base, HP_Base_Level, HP_Mod_Level_Flat, HP_Mod_Flat, HP_Mod_Perc, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property HP_Base_Level As Decimal Implements iChampion.HP_Base_Level
            Get
                Return _HP_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _HP_Base_Level = value
            End Set
        End Property

        Public Property HP_Mod_Flat As Decimal Implements iChampion.HP_Mod_Flat
            Get
                Return _HP_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _HP_Mod_Flat = value
            End Set
        End Property

        Public Property HP_Mod_Level_Flat As Decimal Implements iChampion.HP_Mod_Level_Flat
            Get
                Return _HP_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _HP_Mod_Level_Flat = value
            End Set
        End Property

        Public Property HP_Mod_Perc As Decimal Implements iChampion.HP_Mod_Perc
            Get
                Return _HP_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _HP_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "HP Regen"

        Public Property HP_Regen_Base As Decimal Implements iChampion.HP_Regen_Base
            Get
                Return _HP_Regen_Base
            End Get
            Set(ByVal value As Decimal)
                _HP_Regen_Base = value
            End Set
        End Property

        Public Property HP_Regen_Base_Final As Decimal Implements iChampion.HP_Regen_Base_Final
            Get
                Return Geral.Formulas.CalcularHPRegenFinal(HP_Regen_Base, HP_Regen_Base_Level, HP_Regen_Mod_Flat, HP_Regen_Mod_Level_Flat, HP_Regen_Mod_Perc, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property HP_Regen_Base_Level As Decimal Implements iChampion.HP_Regen_Base_Level
            Get
                Return _HP_Regen_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _HP_Regen_Base_Level = value
            End Set
        End Property

        Public Property HP_Regen_Mod_Flat As Decimal Implements iChampion.HP_Regen_Mod_Flat
            Get
                Return _HP_Regen_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _HP_Regen_Mod_Flat = value
            End Set
        End Property

        Public Property HP_Regen_Mod_Level_Flat As Decimal Implements iChampion.HP_Regen_Mod_Level_Flat
            Get
                Return _HP_Regen_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _HP_Regen_Mod_Level_Flat = value
            End Set
        End Property

        Public Property HP_Regen_Mod_Perc As Decimal Implements iChampion.HP_Regen_Mod_Perc
            Get
                Return _HP_Regen_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _HP_Regen_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "Magic Pen"

        Public Property Magic_Pen_Flat As Integer Implements iChampion.Magic_Pen_Flat
            Get
                Return _Magic_Pen_Flat
            End Get
            Set(ByVal value As Integer)
                _Magic_Pen_Flat = value
            End Set
        End Property

        Public Property Magic_Pen_Perc As Decimal Implements iChampion.Magic_Pen_Perc
            Get
                Return _Magic_Pen_Perc
            End Get
            Set(ByVal value As Decimal)
                _Magic_Pen_Perc = value
            End Set
        End Property

#End Region

#Region "Magic Resist"

        Public Property Magic_Resist_Base As Decimal Implements iChampion.Magic_Resist_Base
            Get
                Return _Magic_Resist_Base
            End Get
            Set(ByVal value As Decimal)
                _Magic_Resist_Base = value
            End Set
        End Property

        Public Property Magic_Resist_Base_Final As Decimal Implements iChampion.Magic_Resist_Base_Final
            Get
                Return Geral.Formulas.CalcularMagicResistFinal(Magic_Resist_Base, Magic_Resist_Base_Level, Magic_Resist_Mod_Flat, Magic_Resist_Mod_Perc, Magic_Resist_Mod_Level_Flat, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Magic_Resist_Base_Level As Decimal Implements iChampion.Magic_Resist_Base_Level
            Get
                Return _Magic_Resist_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _Magic_Resist_Base_Level = value
            End Set
        End Property

        Public Property Magic_Resist_Mod_Flat As Decimal Implements iChampion.Magic_Resist_Mod_Flat
            Get
                Return _Magic_Resist_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Magic_Resist_Mod_Flat = value
            End Set
        End Property

        Public Property Magic_Resist_Mod_Level_Flat As Decimal Implements iChampion.Magic_Resist_Mod_Level_Flat
            Get
                Return _Magic_Resist_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _Magic_Resist_Mod_Level_Flat = value
            End Set
        End Property

        Public Property Magic_Resist_Mod_Perc As Decimal Implements iChampion.Magic_Resist_Mod_Perc
            Get
                Return _Magic_Resist_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _Magic_Resist_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "Magic Resist Reduction"

        Public Property Magic_Resist_Reduction_Flat As Integer Implements iChampion.Magic_Resist_Reduction_Flat
            Get
                Return _Magic_Resist_Reduction_Flat
            End Get
            Set(ByVal value As Integer)
                _Magic_Resist_Reduction_Flat = value
            End Set
        End Property

        Public Property Magic_Resist_Reduction_Perc As Decimal Implements iChampion.Magic_Resist_Reduction_Perc
            Get
                Return _Magic_Resist_Reduction_Perc
            End Get
            Set(ByVal value As Decimal)
                _Magic_Resist_Reduction_Perc = value
            End Set
        End Property

#End Region

#Region "Movement Speed"

        Public Property Movement_Speed_Base As Decimal Implements iChampion.Movement_Speed_Base
            Get
                Return _Movement_Speed_Base
            End Get
            Set(ByVal value As Decimal)
                _Movement_Speed_Base = value
            End Set
        End Property

        Public Property Movement_Speed_Base_Final As Decimal Implements iChampion.Movement_Speed_Base_Final
            Get
                Return Geral.Formulas.CalcularMovementSpeedFinal(Movement_Speed_Base, Movement_Speed_Flat, Movement_Speed_Perc)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Movement_Speed_Perc As Decimal Implements iChampion.Movement_Speed_Mod_Perc
            Get
                Return _Movement_Speed_Flat
            End Get
            Set(ByVal value As Decimal)
                _Movement_Speed_Flat = value
            End Set
        End Property

        Public Property Movement_Speed_Flat As Decimal Implements iChampion.Movement_Speed_Mod_Flat
            Get
                Return _Movement_Speed_Flat
            End Get
            Set(ByVal value As Decimal)
                _Movement_Speed_Flat = value
            End Set
        End Property

#End Region

#Region "Recurso"

        Public Property Recurso_Base As Decimal Implements iChampion.Recurso_Base
            Get
                Return _Recurso_Base
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Base = value
            End Set
        End Property

        Public Property Recurso_Base_Final As Decimal Implements iChampion.Recurso_Base_Final
            Get
                Return Geral.Formulas.CalcularRecursoFinal(Recurso_Base, Recurso_Base_Level, Recurso_Mod_Flat, Recurso_Mod_Perc, Recurso_Mod_Level_Flat, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Recurso_Base_Level As Decimal Implements iChampion.Recurso_Base_Level
            Get
                Return _Recurso_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Base_Level = value
            End Set
        End Property

        Public Property Recurso_Mod_Flat As Decimal Implements iChampion.Recurso_Mod_Flat
            Get
                Return _Recurso_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Mod_Flat = value
            End Set
        End Property

        Public Property Recurso_Mod_Level_Flat As Decimal Implements iChampion.Recurso_Mod_Level_Flat
            Get
                Return _Recurso_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Mod_Level_Flat = value
            End Set
        End Property

        Public Property Recurso_Mod_Perc As Decimal Implements iChampion.Recurso_Mod_Perc
            Get
                Return _Recurso_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Mod_Perc = value
            End Set
        End Property

#End Region

#Region "Recurso Regen"

        Public Property Recurso_Regen_Base As Decimal Implements iChampion.Recurso_Regen_Base
            Get
                Return _Recurso_Regen_Base
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Regen_Base = value
            End Set
        End Property

        Public Property Recurso_Regen_Base_Final As Decimal Implements iChampion.Recurso_Regen_Base_Final
            Get
                Return Geral.Formulas.CalcularRecursoRegenFinal(Recurso_Regen_Base, Recurso_Regen_Base_Level, Recurso_Regen_Mod_Flat, Recurso_Regen_Mod_Perc, Recurso_Regen_Mod_Level_Flat, Level)
            End Get
            Set(ByVal value As Decimal)
            End Set
        End Property

        Public Property Recurso_Regen_Base_Level As Decimal Implements iChampion.Recurso_Regen_Base_Level
            Get
                Return _Recurso_Regen_Base_Level
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Regen_Base_Level = value
            End Set
        End Property

        Public Property Recurso_Regen_Mod_Flat As Decimal Implements iChampion.Recurso_Regen_Mod_Flat
            Get
                Return _Recurso_Regen_Mod_Flat
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Regen_Mod_Flat = value
            End Set
        End Property

        Public Property Recurso_Regen_Mod_Level_Flat As Decimal Implements iChampion.Recurso_Regen_Mod_Level_Flat
            Get
                Return _Recurso_Regen_Mod_Level_Flat
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Regen_Mod_Level_Flat = value
            End Set
        End Property

        Public Property Recurso_Regen_Mod_Perc As Decimal Implements iChampion.Recurso_Regen_Mod_Perc
            Get
                Return _Recurso_Regen_Mod_Perc
            End Get
            Set(ByVal value As Decimal)
                _Recurso_Regen_Mod_Perc = value
            End Set
        End Property

#End Region

#End Region

#Region "Funções"

        Public Overrides Function ToString() As String
            Return Me.Nome
        End Function

#End Region

    End Class

End Namespace